本章将示範如何为你的备份用户在 OpenStack 上设置另一个地区。
如果你未曾接触过 OpenStack,你应该先参考他们在 http://docs.openstack.org/ 的常规设置文档。
如果你已经有一个正在运行的 OpenStack,你可以按照我们的步骤来设置另一个地区。
这是在下列实例中使用的 OpenStack 版本:
这是在下列实例中使用的值:
注: Keystone admin 令牌的值可以在 Keystone 配置文件 /etc/keystone/keystone.conf 中的变量名 "admin_token" 找到。
请在安装一个租户(项目),用户,角色和存储配额等之前把下列的变量在 bash 配置文件中配置好。
步骤 1: 在 .bash_profile 中添加环境变量
例如 (/root/.bash_profile)---------------------------------------------------------------------------------------------------- : : 修剪 : : export OS_USERNAME=admin export OS_PASSWORD=admin export OS_TENANT_NAME=mybackup export OS_AUTH_URL=http://10.7.54.7:5000/v2.0 export OS_SERVICE_ENDPOINT=http://10.7.54.7:35357/v2.0 export OS_SERVICE_TOKEN=7b05dab9722d44e7b9a82dc0d1ff74ea : : 修剪 : : ----------------------------------------------------------------------------------------------------
请重新登录,配置文件方能生效。
注: OS_SERVICE_TOKEN 的值可以在 Keystone 配置文件 /etc/keystone/keystone.conf 中的变量名 "admin_token" 找到。
如果你要在目前的 OpenStack 挂上第二台 OpenStack 的存储,你可以当前的 OpenStack 上设置第二个地区。
假设第二地区的 OpenStack IP 为 10.7.54.8 。 你需要找出 swift 的服务ID,并按照以下指示在你目前的 OpenStack 上挂上第二个地区。
要通过 keystone 服务的列出指令, 列出 swift 服务 id:
使用方法: keystone service-list
例如---------------------------------------------------------------------------------------------------- [root@os ~]# keystone service-list WARNING: Bypassing authentication using a token & endpoint (authentication credentials are being ignored). +----------------------------------+------------+--------------+--------------------------------+ | id | name | type | description | +----------------------------------+------------+--------------+--------------------------------+ | 5f805cc7df2a43eb90db6fe11ed682f6 | ceilometer | metering | Openstack Metering Service | | 3134116675a8420a88ef01cdcb0c8728 | cinder | volume | Cinder Service | | b703b91737954d01a2d180f6c3d575ba | cinder_v2 | volumev2 | Cinder Service v2 | | cc787cf0258e46d6a342e1502e7bf6be | glance | image | Openstack Image Service | | b3af7d0a95d34aa7883629df7a7f7f56 | keystone | identity | OpenStack Identity Service | | 10f1a022ada246138aba5834e3622a91 | neutron | network | Neutron Networking Service | | 218b5356d65e4d8382297f72d65c8bbb | nova | compute | Openstack Compute Service | | a809ad43f380400cb55ff2520bb27ab0 | nova_ec2 | ec2 | EC2 Service | | 8b517bd82d4345c895384f9596a29880 | swift | object-store | Openstack Object-Store Service | | 11882e74696547b0ba1e4d276074ae37 | swift_s3 | s3 | Openstack S3 Service | +----------------------------------+------------+--------------+--------------------------------+ [root@os ~]# ----------------------------------------------------------------------------------------------------
把第二地区(RegionTwo)添加到 'swift' keystone 服务
使用方法: keystone endpoint-create --region <endpint-region> --service-id=<swift service-id> --publicurl <public-url> --adminurl <admin URL> --internalurl <internal-url>
例如---------------------------------------------------------------------------------------------------- [root@os ~]# keystone endpoint-create --region RegionTwo --service-id=8b517bd82d4345c895384f9596a29880 --publicurl 'http://10.7.54.8:8080/v1/AUTH_%(tenant_id)s' --adminurl 'http://10.7.54.8:8080/v1' --internalurl 'http://10.7.54 .8:8080/v1/AUTH_%(tenant_id)s' +-------------+---------------------------------------------+ | Property | Value | +-------------+---------------------------------------------+ | adminurl | http://10.7.54.8:8080/v1 | | id | 40c018c7ff934bc4b3d8c0ce8c78d8db | | internalurl | http://10.7.54.8:8080/v1/AUTH_%(tenant_id)s | | publicurl | http://10.7.54.8:8080/v1/AUTH_%(tenant_id)s | | region | RegionTwo | | service_id | 8b517bd82d4345c895384f9596a29880 | +-------------+---------------------------------------------+ [root@os ~]# ----------------------------------------------------------------------------------------------------